Towards Global Scheduling and Register Allocation Using Predicated Execution
نویسندگان
چکیده
This paper presents an approach for register allocation and scheduling which relies on three main ideas: global optimization, solution space exploration and on-the-fly generation of a symbolic state machine. To allow global optimizations while preserving semantics, the traditional notion of control dependence is replaced by the notion of predicate. In our approach, predicates are used not only as attributes of operations during scheduling (predicated execution), but also as attributes of values during register allocation. Experimental results show that this global approach improves the chances of reaching high-quality solutions in High-Level Synthesis.
منابع مشابه
Register Binding for DSP Code Containing Predicated Execution
Predicated execution is an efficient mechanism to avoid conditional constructs in application programs. In this paper we describe how an existing method for register binding can be extended to support predicated execution. The method exploits the combination of register constraints, resource and timing constraints and models the overlap of value lifetimes in a conflict graph. In our extension, ...
متن کاملResource Spackling: A Framework for Integrating Register Allocation in Local and Global Schedulersy
We present Resource Spackling, a framework for integrating register allocation and instruction scheduling that is based on a Measure and Reduce paradigm. The technique measures the resource requirements of a program and uses the measurements to distribute code for better resource allocation. The technique is applicable to the allocation of diierent types of resources. A program's resource requi...
متن کاملResource Spackling: A Framework for Integrating Register Allocation in Local and Global Schedulers
We present Resource Spackling, a framework for integrating register allocation and instruction scheduling that is based on a Measure and Reduce paradigm. The technique measures the resource requirements of a program and uses the measurements to distribute code for better resource allocation. The technique is applicable to the allocation of diierent types of resources. A program's resource requi...
متن کاملRegister Allocation for Predicted Pipelining Using Spiral Graph
The framework of the Spiral Graph is proposed to allocate registers for software pipelining in register-renaming architectures. This will a result in an allocation with the least number of required registers in polynomial time on a rotating register, with the names of the registers renamed one by one and simultaneously. However, the original Spiral Graph cannot inherently manage the conditional...
متن کاملResource Spackling: a Framework for Integrating Register Allocation in Local and Global Schedulers Yz
We present Resource Spackling, a framework for integrating register allocation and instruction scheduling that is based on a Measure and Reduce paradigm. The technique rst measures the resource requirements of a program and then uses these measurements to distribute code for better resource allocation. The technique is general in that it is applicable to both local and global scheduling and the...
متن کامل